Skip to content

feat: convert all agents to native skill format#12

Merged
bmadcode merged 5 commits intomainfrom
feature/convert-agents-to-skills
Mar 19, 2026
Merged

feat: convert all agents to native skill format#12
bmadcode merged 5 commits intomainfrom
feature/convert-agents-to-skills

Conversation

@bmadcode
Copy link
Copy Markdown
Contributor

@bmadcode bmadcode commented Mar 16, 2026

Summary

  • Convert 6 agent YAML files (Victor, Dr. Quinn, Maya, Caravaggio, Carson, Sophia) to unified skill directory pattern with SKILL.md + bmad-skill-manifest.yaml
  • Update module-help.csv to use skill: references for all workflows
  • Remove teams folder and old agent files
  • Move storyteller sidecar files into agent directory

Test plan

  • Verify each agent skill loads correctly when invoked by persona name
  • Verify module-help.csv skill references resolve properly
  • Confirm brainstorming skill reference works (changed from path to skill:bmad-brainstorming)

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Refactor

    • Migrated several specialized agents into a new skill-based format with published skill manifests and skill definitions.
  • Chores

    • Removed legacy agent definition files and the Creative Squad team config.
    • Deleted agent schema validation tests and many test fixtures.
    • Simplified CI/test scripts and updated package test commands.
    • Updated documentation to use new bmad-prefixed agent command names and removed old workflow docs.

Convert 6 agent YAML files to the unified skill directory pattern
with SKILL.md + bmad-skill-manifest.yaml per agent. Update
module-help.csv to use skill: references. Remove teams folder.

Agents converted: Victor (Innovation Strategist), Dr. Quinn
(Problem Solver), Maya (Design Thinking), Caravaggio (Presentation),
Carson (Brainstorming), Sophia (Storyteller with sidecar files).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 16, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0eac29e0-5b1a-472b-a2af-4ef64cba52ed

📥 Commits

Reviewing files that changed from the base of the PR and between 3dd5b3a and d00d6e3.

📒 Files selected for processing (8)
  • docs/reference/agents.md
  • docs/reference/workflows.md
  • src/skills/bmad-cis-agent-brainstorming-coach/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-creative-problem-solver/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-design-thinking-coach/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-innovation-strategist/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-presentation-master/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-storyteller/bmad-skill-manifest.yaml

Walkthrough

Six declarative agent YAML files and related team/docs/tests/validation were removed and replaced by new native skill artifacts (SKILL.md + skill manifests); CI schema validation and many agent-schema fixtures/tests were also deleted and some documentation/team config updated.

Changes

Cohort / File(s) Summary
Agent YAML Deletions (legacy)
src/agents/brainstorming-coach.agent.yaml, src/agents/creative-problem-solver.agent.yaml, src/agents/design-thinking-coach.agent.yaml, src/agents/innovation-strategist.agent.yaml, src/agents/presentation-master.agent.yaml, src/agents/storyteller/storyteller.agent.yaml
Removed six .agent.yaml files that declared metadata, persona, menu triggers and workflow links.
New Skill implementations
src/skills/bmad-cis-agent-brainstorming-coach/*, src/skills/bmad-cis-agent-creative-problem-solver/*, src/skills/bmad-cis-agent-design-thinking-coach/*, src/skills/bmad-cis-agent-innovation-strategist/*, src/skills/bmad-cis-agent-presentation-master/*, src/skills/bmad-cis-agent-storyteller/*
Added SKILL.md files and bmad-skill-manifest.yaml manifests for each agent (agent-type skills, persona text, capability mappings, activation flow).
Test/schema removal
test/schema/agent.js, test/test-agent-schema.js, test/unit-test-schema.js, test/validate-agent-schema.js, test/fixtures/agent-schema/*
Deleted Zod-based agent schema validator, test runners/CLI, unit tests, and ~50+ fixture files (valid and invalid cases for agent schema).
CI & npm script changes
.github/workflows/quality.yaml, package.json
Removed validate job from CI and eliminated test:schemas / validate:schemas npm scripts; consolidated test to lint/format checks.
Docs, team, workflow README edits
docs/reference/agents.md, docs/reference/workflows.md, src/workflows/README.md, test/README.md, src/teams/creative-squad.yaml, .gitignore
Updated agent command prefixes in docs, deleted workflows README and test README, removed Creative Squad team config, and removed package-lock.json ignore entry from .gitignore.
New single-skill addition detail
src/skills/bmad-cis-agent-brainstorming-coach/SKILL.md, src/skills/bmad-cis-agent-creative-problem-solver/SKILL.md, ... (each skill folder)
Each SKILL.md includes init flow (bmad-init), optional project-context load, greeting, capability table and strict invocation rules for mapped capability codes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰
I hopped through YAML leaves today,
Six agents shed their config gray.
New SKILLs sing bright with persona song,
Tests waved goodbye — they won't be long.
A carrot cheer: forward we play!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'feat: convert all agents to native skill format' clearly and accurately summarizes the main objective of the changeset: migrating agent YAML definitions to a unified skill directory pattern.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/convert-agents-to-skills
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented Mar 16, 2026

🤖 Augment PR Summary

Summary: This PR migrates CIS personas from legacy *.agent.yaml definitions to a native skill-based layout.

Changes:

  • Removed the legacy agent YAML files for Carson, Dr. Quinn, Maya, Victor, Caravaggio, and Sophia.
  • Added new agent skill directories under src/agents/cis-agent-* containing SKILL.md + bmad-skill-manifest.yaml.
  • Updated each agent’s skill prompt to load config via bmad-init, greet the user, and dispatch by capability code to workflow skills.
  • Moved Sophia’s storyteller sidecar markdown files into the new agent directory.
  • Removed the CIS teams folder (including the Creative Squad team definition).
  • Removed the legacy src/workflows/README.md file.
  • (Per PR description) Updated module-help.csv to reference workflows via skill: identifiers rather than file paths.

Technical Notes: Agent skills now route into existing CIS workflow skills (e.g. bmad-cis-*) by registered skill name, so correctness depends on those names remaining resolvable in the runtime environment.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 3 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

@@ -1,21 +0,0 @@
# Elite Brainstorming Specialist Agent Definition
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR removes all *.agent.yaml files under src/, but npm test still runs test/validate-agent-schema.js which exits non-zero when it finds zero agent files (glob('src/**/*.agent.yaml')). That means CI/local tests will likely fail unless the schema validation step is updated/removed as part of the migration.

Severity: high

Other Locations
  • src/agents/creative-problem-solver.agent.yaml:1
  • src/agents/design-thinking-coach.agent.yaml:1
  • src/agents/innovation-strategist.agent.yaml:1
  • src/agents/presentation-master.agent.yaml:1
  • src/agents/storyteller/storyteller.agent.yaml:1

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.


| Code | Description | Skill |
|------|-------------|-------|
| SD | Create multi-slide presentation with professional layouts and visual hierarchy | todo |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Capabilities table uses todo as the registered Skill name, but the "CRITICAL Handling" section instructs invoking the skill exactly as listed; unless a real todo skill exists, these menu options will fail at runtime.

Severity: medium

Other Locations
  • src/agents/cis-agent-presentation-master/SKILL.md:40
  • src/agents/cis-agent-presentation-master/SKILL.md:41
  • src/agents/cis-agent-presentation-master/SKILL.md:42
  • src/agents/cis-agent-presentation-master/SKILL.md:43
  • src/agents/cis-agent-presentation-master/SKILL.md:44
  • src/agents/cis-agent-presentation-master/SKILL.md:45

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@@ -1,7 +0,0 @@
# <!-- Powered by BMAD-CORE™ -->
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With src/teams/creative-squad.yaml removed, the docs still describing the "Creative Squad Team" (e.g. in docs/reference/agents.md) may now be stale/misleading if teams are no longer supported/exposed for CIS.

Severity: low

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🧹 Nitpick comments (1)
src/agents/cis-agent-brainstorming-coach/SKILL.md (1)

26-26: Tighten persona instruction grammar for clarity.

Line 26 has wording issues (“its”, “users dismisses”) that make the directive less clear.

✍️ Suggested wording
-You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
+You must fully embody this persona so the user gets the best experience and support they need. Do not break character until the user dismisses this persona.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/agents/cis-agent-brainstorming-coach/SKILL.md` at line 26, Update the
sentence "You must fully embody this persona so the user gets the best
experience and help they need, therefore its important to remember you must not
break character until the users dismisses this persona." to fix grammar and
clarity: change "its" to "it's" (it is), change "users dismisses" to "user
dismisses", and add proper punctuation for readability—e.g., "You must fully
embody this persona so the user gets the best experience and help they need;
therefore it's important to remember you must not break character until the user
dismisses this persona."
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/agents/cis-agent-creative-problem-solver/SKILL.md`:
- Line 26: Fix the persona lock-in sentence in SKILL.md by correcting grammar
and punctuation: change "its important" to "it's important" (or "it is
important") and "users dismisses" to "the user dismisses" (or "users dismiss")
so the sentence reads clearly and consistently (e.g., "You must fully embody
this persona so the user gets the best experience and help they need; therefore
it's important to remember you must not break character until the user dismisses
this persona."). Update the sentence in the persona lock-in paragraph
accordingly.

In `@src/agents/cis-agent-design-thinking-coach/bmad-skill-manifest.yaml`:
- Around line 1-12: The manifest discovery currently only matches "*.agent.yaml"
so the schema validator doesn't find migrated manifests; update the discovery
logic (e.g., the function handling manifest discovery such as discoverAgentFiles
or findAgentManifests) to also accept "bmad-skill-manifest.yaml" (either add it
to the glob list or expand the pattern to include both filenames), and update
the test/README.md reference on line 7 to mention "bmad-skill-manifest.yaml"
instead of "*.agent.yaml".

In `@src/agents/cis-agent-design-thinking-coach/SKILL.md`:
- Line 27: The persona contract sentence in SKILL.md currently reads with
grammatical errors ("its" and "users dismisses"); update the sentence in the
persona block so it reads cleanly — e.g., change "its important to remember you
must not break character until the users dismisses this persona." to "it's
important to remember you must not break character until the user dismisses this
persona." — make the replacement in the SKILL.md persona contract (the sentence
containing "its important to remember" and "users dismisses") so punctuation and
subject-verb agreement are correct.

In `@src/agents/cis-agent-presentation-master/SKILL.md`:
- Around line 37-46: The SKILL.md table contains placeholder "todo" values for
the Skill column (rows identified by codes SD, EX, PD, CT, IN, VM, CV) which
prevents invocation; replace each "todo" with the exact registered skill ID
string used by the system for that capability (e.g., the canonical skill names
in the skill registry), ensuring they match casing and punctuation exactly, and
update the corresponding reference elsewhere in the file where the agent expects
the exact registered name (the explicit reference noted in the review) so all
entries are callable.

In `@src/agents/cis-agent-storyteller/SKILL.md`:
- Line 31: Fix the grammatical errors in the persona persistence sentence in
SKILL.md: replace "therefore its important to remember you must not break
character until the users dismisses this persona." with a corrected sentence
such as "Therefore, it's important to remember you must not break character
until the user dismisses this persona." Ensure the capitalization and
punctuation (leading "Therefore," and contraction "it's") and singular "user
dismisses" are applied to the existing persona instruction.
- Around line 28-30: Update the hardcoded sidecar paths in SKILL.md to point to
the agent-local memory files: replace references to
`{project-root}/_bmad/_memory/storyteller-sidecar/story-preferences.md` and
`{project-root}/_bmad/_memory/storyteller-sidecar/stories-told.md` with their
new agent directory locations (the moved files inside the agent folder),
ensuring any activation/load instructions or examples that reference
`story-preferences.md` and `stories-told.md` use the new agent-relative paths so
activation won’t fail.

---

Nitpick comments:
In `@src/agents/cis-agent-brainstorming-coach/SKILL.md`:
- Line 26: Update the sentence "You must fully embody this persona so the user
gets the best experience and help they need, therefore its important to remember
you must not break character until the users dismisses this persona." to fix
grammar and clarity: change "its" to "it's" (it is), change "users dismisses" to
"user dismisses", and add proper punctuation for readability—e.g., "You must
fully embody this persona so the user gets the best experience and help they
need; therefore it's important to remember you must not break character until
the user dismisses this persona."
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 00fc94e6-88b6-4cb9-9c5c-844bc33e8c9b

📥 Commits

Reviewing files that changed from the base of the PR and between e6f6439 and 9a2f5af.

⛔ Files ignored due to path filters (2)
  • src/module-help.csv is excluded by !**/*.csv
  • src/teams/default-party.csv is excluded by !**/*.csv
📒 Files selected for processing (22)
  • src/agents/brainstorming-coach.agent.yaml
  • src/agents/cis-agent-brainstorming-coach/SKILL.md
  • src/agents/cis-agent-brainstorming-coach/bmad-skill-manifest.yaml
  • src/agents/cis-agent-creative-problem-solver/SKILL.md
  • src/agents/cis-agent-creative-problem-solver/bmad-skill-manifest.yaml
  • src/agents/cis-agent-design-thinking-coach/SKILL.md
  • src/agents/cis-agent-design-thinking-coach/bmad-skill-manifest.yaml
  • src/agents/cis-agent-innovation-strategist/SKILL.md
  • src/agents/cis-agent-innovation-strategist/bmad-skill-manifest.yaml
  • src/agents/cis-agent-presentation-master/SKILL.md
  • src/agents/cis-agent-presentation-master/bmad-skill-manifest.yaml
  • src/agents/cis-agent-storyteller/SKILL.md
  • src/agents/cis-agent-storyteller/bmad-skill-manifest.yaml
  • src/agents/cis-agent-storyteller/stories-told.md
  • src/agents/cis-agent-storyteller/story-preferences.md
  • src/agents/creative-problem-solver.agent.yaml
  • src/agents/design-thinking-coach.agent.yaml
  • src/agents/innovation-strategist.agent.yaml
  • src/agents/presentation-master.agent.yaml
  • src/agents/storyteller/storyteller.agent.yaml
  • src/teams/creative-squad.yaml
  • src/workflows/README.md
💤 Files with no reviewable changes (8)
  • src/teams/creative-squad.yaml
  • src/agents/presentation-master.agent.yaml
  • src/agents/innovation-strategist.agent.yaml
  • src/agents/creative-problem-solver.agent.yaml
  • src/agents/brainstorming-coach.agent.yaml
  • src/workflows/README.md
  • src/agents/storyteller/storyteller.agent.yaml
  • src/agents/design-thinking-coach.agent.yaml

- Hunt for root causes relentlessly.
- The right question beats a fast answer.

You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Polish grammar in the persona lock-in sentence.

Line 26 has the same grammatical issues (its, users dismisses). Please correct to improve prompt clarity and consistency.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/agents/cis-agent-creative-problem-solver/SKILL.md` at line 26, Fix the
persona lock-in sentence in SKILL.md by correcting grammar and punctuation:
change "its important" to "it's important" (or "it is important") and "users
dismisses" to "the user dismisses" (or "users dismiss") so the sentence reads
clearly and consistently (e.g., "You must fully embody this persona so the user
gets the best experience and help they need; therefore it's important to
remember you must not break character until the user dismisses this persona.").
Update the sentence in the persona lock-in paragraph accordingly.

Comment on lines +1 to +12
type: agent
name: cis-agent-design-thinking-coach
displayName: Maya
title: Design Thinking Maestro
icon: "🎨"
capabilities: "human-centered design, empathy mapping, prototyping, user insights"
role: "Human-Centered Design Expert + Empathy Architect"
identity: "Design thinking virtuoso with 15+ years at Fortune 500s and startups. Expert in empathy mapping, prototyping, and user insights."
communicationStyle: "Talks like a jazz musician - improvises around themes, uses vivid sensory metaphors, playfully challenges assumptions"
principles: "Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them."
module: cis
canonicalId: cis-agent-design-thinking-coach
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Current validator patterns:"
rg -n -C3 "agent\\.yaml|bmad-skill-manifest|No agent files found" test/validate-agent-schema.js test/README.md

echo
echo "Count new-format manifests:"
fd 'bmad-skill-manifest.yaml$' src | wc -l

echo
echo "Count legacy agent yamls:"
fd '\.agent\.yaml$' src | wc -l

Repository: bmad-code-org/bmad-module-creative-intelligence-suite

Length of output: 1846


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Check if validator is in package.json test scripts ==="
grep -n "validate-agent-schema\|test" package.json | head -20 || echo "(no results)"

echo
echo "=== Check for any CI config files ==="
find . -maxdepth 2 -name ".github" -o -name ".gitlab-ci.yml" -o -name ".circleci" -o -name "Makefile" 2>/dev/null | head -10

echo
echo "=== Search all references to old pattern in non-test files ==="
rg '\.agent\.yaml|agent\.yaml' --type yaml --type js --type json src/ tools/ .github/ 2>/dev/null | grep -v node_modules | head -20 || echo "(no results)"

echo
echo "=== Verify the exact glob call in validate-agent-schema.js ==="
sed -n '30,50p' test/validate-agent-schema.js

Repository: bmad-code-org/bmad-module-creative-intelligence-suite

Length of output: 1235


Update schema-validation discovery to include bmad-skill-manifest.yaml.

The validator currently scans for *.agent.yaml but all agent manifests have been migrated to bmad-skill-manifest.yaml. This causes validation to fail with "No agent files found" and exit with error code 1, breaking the test suite in CI.

🛠️ Suggested fix
--- a/test/validate-agent-schema.js
+++ b/test/validate-agent-schema.js
@@ -32,17 +32,17 @@ async function main(customProjectRoot) {
   const project_root = customProjectRoot || path.join(__dirname, '..');
 
   // Find all agent files
-  const agentFiles = await glob('src/**/*.agent.yaml', {
+  const agentFiles = await glob('src/**/bmad-skill-manifest.yaml', {
     cwd: project_root,
     absolute: true,
   });
 
   if (agentFiles.length === 0) {
-    console.log('❌ No agent files found. This likely indicates a configuration error.');
-    console.log('   Expected to find *.agent.yaml files in src/{core,modules/*}/agents/');
+    console.log('❌ No skill manifest files found. This likely indicates a configuration error.');
+    console.log('   Expected to find bmad-skill-manifest.yaml files in src/**/agents/');
     process.exit(1);
   }

Also update test/README.md line 7 to reference the new manifest filename instead of *.agent.yaml.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/agents/cis-agent-design-thinking-coach/bmad-skill-manifest.yaml` around
lines 1 - 12, The manifest discovery currently only matches "*.agent.yaml" so
the schema validator doesn't find migrated manifests; update the discovery logic
(e.g., the function handling manifest discovery such as discoverAgentFiles or
findAgentManifests) to also accept "bmad-skill-manifest.yaml" (either add it to
the glob list or expand the pattern to include both filenames), and update the
test/README.md reference on line 7 to mention "bmad-skill-manifest.yaml" instead
of "*.agent.yaml".

- Failure is feedback.
- Design WITH users not FOR them.

You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix user-facing grammar in persona contract text.

Line 27 has grammatical issues that reduce prompt clarity (its, users dismisses).

✏️ Suggested text fix
-You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
+You must fully embody this persona so the user gets the best experience and help they need; therefore, it's important to remember that you must not break character until the user dismisses this persona.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
You must fully embody this persona so the user gets the best experience and help they need; therefore, it's important to remember that you must not break character until the user dismisses this persona.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/agents/cis-agent-design-thinking-coach/SKILL.md` at line 27, The persona
contract sentence in SKILL.md currently reads with grammatical errors ("its" and
"users dismisses"); update the sentence in the persona block so it reads cleanly
— e.g., change "its important to remember you must not break character until the
users dismisses this persona." to "it's important to remember you must not break
character until the user dismisses this persona." — make the replacement in the
SKILL.md persona contract (the sentence containing "its important to remember"
and "users dismisses") so punctuation and subject-verb agreement are correct.

Comment on lines +37 to +46
| Code | Description | Skill |
|------|-------------|-------|
| SD | Create multi-slide presentation with professional layouts and visual hierarchy | todo |
| EX | Design YouTube/video explainer layout with visual script and engagement hooks | todo |
| PD | Craft investor pitch presentation with data visualization and narrative arc | todo |
| CT | Build conference talk or workshop presentation materials with speaker notes | todo |
| IN | Design creative information visualization with visual storytelling | todo |
| VM | Create conceptual illustrations (Rube Goldberg machines, journey maps, creative processes) | todo |
| CV | Generate single expressive image that explains ideas creatively and memorably | todo |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Replace placeholder todo entries with real skill IDs before release.

Lines 39-46 currently cannot be invoked, and Line 62 explicitly requires exact registered names. This breaks capability execution for this agent.

✅ Minimal fix pattern
 | Code | Description | Skill |
 |------|-------------|-------|
-| SD | Create multi-slide presentation with professional layouts and visual hierarchy | todo |
-| EX | Design YouTube/video explainer layout with visual script and engagement hooks | todo |
-| PD | Craft investor pitch presentation with data visualization and narrative arc | todo |
-| CT | Build conference talk or workshop presentation materials with speaker notes | todo |
-| IN | Design creative information visualization with visual storytelling | todo |
-| VM | Create conceptual illustrations (Rube Goldberg machines, journey maps, creative processes) | todo |
-| CV | Generate single expressive image that explains ideas creatively and memorably | todo |
+| SD | Create multi-slide presentation with professional layouts and visual hierarchy | <registered-skill-id> |
+| EX | Design YouTube/video explainer layout with visual script and engagement hooks | <registered-skill-id> |
+| PD | Craft investor pitch presentation with data visualization and narrative arc | <registered-skill-id> |
+| CT | Build conference talk or workshop presentation materials with speaker notes | <registered-skill-id> |
+| IN | Design creative information visualization with visual storytelling | <registered-skill-id> |
+| VM | Create conceptual illustrations (Rube Goldberg machines, journey maps, creative processes) | <registered-skill-id> |
+| CV | Generate single expressive image that explains ideas creatively and memorably | <registered-skill-id> |

Also applies to: 62-62

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/agents/cis-agent-presentation-master/SKILL.md` around lines 37 - 46, The
SKILL.md table contains placeholder "todo" values for the Skill column (rows
identified by codes SD, EX, PD, CT, IN, VM, CV) which prevents invocation;
replace each "todo" with the exact registered skill ID string used by the system
for that capability (e.g., the canonical skill names in the skill registry),
ensuring they match casing and punctuation exactly, and update the corresponding
reference elsewhere in the file where the agent expects the exact registered
name (the explicit reference noted in the review) so all entries are callable.

Comment on lines +28 to +30
- Load COMPLETE file `{project-root}/_bmad/_memory/storyteller-sidecar/story-preferences.md` and review remember the User Preferences
- Load COMPLETE file `{project-root}/_bmad/_memory/storyteller-sidecar/stories-told.md` and review the history of stories created for this user

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Critical actions still reference the old sidecar location.

Lines 28–30 point to {project-root}/_bmad/_memory/storyteller-sidecar/..., but this PR’s objective says those files were moved into the agent directory. This can cause failed loads at activation time.

🛠️ Suggested path update
-- Load COMPLETE file `{project-root}/_bmad/_memory/storyteller-sidecar/story-preferences.md` and review remember the User Preferences
-- Load COMPLETE file `{project-root}/_bmad/_memory/storyteller-sidecar/stories-told.md` and review the history of stories created for this user
+- Load COMPLETE file `{project-root}/src/agents/cis-agent-storyteller/story-preferences.md` and review the user preferences
+- Load COMPLETE file `{project-root}/src/agents/cis-agent-storyteller/stories-told.md` and review the history of stories created for this user
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/agents/cis-agent-storyteller/SKILL.md` around lines 28 - 30, Update the
hardcoded sidecar paths in SKILL.md to point to the agent-local memory files:
replace references to
`{project-root}/_bmad/_memory/storyteller-sidecar/story-preferences.md` and
`{project-root}/_bmad/_memory/storyteller-sidecar/stories-told.md` with their
new agent directory locations (the moved files inside the agent folder),
ensuring any activation/load instructions or examples that reference
`story-preferences.md` and `stories-told.md` use the new agent-relative paths so
activation won’t fail.

- Load COMPLETE file `{project-root}/_bmad/_memory/storyteller-sidecar/story-preferences.md` and review remember the User Preferences
- Load COMPLETE file `{project-root}/_bmad/_memory/storyteller-sidecar/stories-told.md` and review the history of stories created for this user

You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammar in persona persistence instruction.

Line 31 has grammatical issues (its, users dismisses) in user-facing instruction text.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/agents/cis-agent-storyteller/SKILL.md` at line 31, Fix the grammatical
errors in the persona persistence sentence in SKILL.md: replace "therefore its
important to remember you must not break character until the users dismisses
this persona." with a corrected sentence such as "Therefore, it's important to
remember you must not break character until the user dismisses this persona."
Ensure the capitalization and punctuation (leading "Therefore," and contraction
"it's") and singular "user dismisses" are applied to the existing persona
instruction.

bmadcode and others added 3 commits March 16, 2026 14:59
Agent YAML files no longer exist after skill conversion.
Remove test/ directory, schema validation scripts, and
CI validate job. Add package-lock.json for CI cache support.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ad-cis naming

- Move all agent folders from src/agents/ to src/skills/
- Move non-agent workflow folders from src/workflows/ to src/skills/
- Rename workflow folders from cis-agent-* to bmad-cis-agent-*
- Update SKILL.md name fields to use bmad-cis- prefix consistently
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
src/skills/bmad-cis-agent-brainstorming-coach/SKILL.md (1)

51-51: Consider using markdown heading for consistency.

The "CRITICAL Handling:" label uses bold text with a colon, which is inconsistent with the markdown heading structure used elsewhere (e.g., ## Identity, ## Principles). Consider using a heading for better structural consistency.

♻️ Proposed formatting improvement
-**CRITICAL Handling:** When user responds with a code, line number or skill, invoke the corresponding skill by its exact registered name from the Capabilities table. DO NOT invent capabilities on the fly.
+### Critical Handling
+
+When user responds with a code, line number or skill, invoke the corresponding skill by its exact registered name from the Capabilities table. DO NOT invent capabilities on the fly.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/skills/bmad-cis-agent-brainstorming-coach/SKILL.md` at line 51, Replace
the bold "CRITICAL Handling:" label with a markdown heading to match the rest of
the document; locate the line containing "**CRITICAL Handling:** When user
responds with a code, line number or skill, invoke the corresponding skill by
its exact registered name from the Capabilities table. DO NOT invent
capabilities on the fly." and change it to a heading (e.g., "## Critical
handling" or "### Critical Handling") while preserving the exact instruction
text and emphasis on invoking skills by their registered names from the
Capabilities table.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@package.json`:
- Line 34: The test script currently runs only style checks ("test": "npm run
lint && npm run lint:md && npm run format:check") so CI no longer validates
skill wiring; add or invoke a skill-validation smoke script (e.g., create
"validate:skills" or reuse existing skill check script) and include it in the
"test" pipeline so "npm test" runs style checks plus at least one automated
skill manifest/skill: reference validation step; update the "test" script to run
the new/existing skill validator after the lint/format steps and ensure the
validator exits non‑zero on failures.

In `@src/skills/bmad-cis-agent-brainstorming-coach/SKILL.md`:
- Line 26: Fix the grammatical contraction in the SKILL.md sentence "You must
fully embody this persona so the user gets the best experience and help they
need, therefore its important to remember you must not break character until the
users dismisses this persona." by replacing "its important" with "it's
important" and also consider fixing "users dismisses" to "user dismisses" or
"users dismiss" as appropriate; locate the exact sentence in SKILL.md and apply
the contraction and plural noun fix so the line reads grammatically correct.

In `@src/skills/bmad-cis-agent-presentation-master/SKILL.md`:
- Line 31: The sentence in SKILL.md that reads "until the users dismisses this
persona" has a subject-verb agreement error; update that fragment to "until the
user dismisses this persona" (change "users dismisses" to "user dismisses") so
the subject and verb agree; locate the sentence in the SKILL.md content block
for the persona description and replace the plural/incorrect form with the
singular/correct form.

---

Nitpick comments:
In `@src/skills/bmad-cis-agent-brainstorming-coach/SKILL.md`:
- Line 51: Replace the bold "CRITICAL Handling:" label with a markdown heading
to match the rest of the document; locate the line containing "**CRITICAL
Handling:** When user responds with a code, line number or skill, invoke the
corresponding skill by its exact registered name from the Capabilities table. DO
NOT invent capabilities on the fly." and change it to a heading (e.g., "##
Critical handling" or "### Critical Handling") while preserving the exact
instruction text and emphasis on invoking skills by their registered names from
the Capabilities table.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8433638c-14c2-4c56-b7a9-2f49aa43ec04

📥 Commits

Reviewing files that changed from the base of the PR and between 9a2f5af and 3dd5b3a.

⛔ Files ignored due to path filters (5)
  • package-lock.json is excluded by !**/package-lock.json
  • src/skills/bmad-cis-design-thinking/design-methods.csv is excluded by !**/*.csv
  • src/skills/bmad-cis-innovation-strategy/innovation-frameworks.csv is excluded by !**/*.csv
  • src/skills/bmad-cis-problem-solving/solving-methods.csv is excluded by !**/*.csv
  • src/skills/bmad-cis-storytelling/story-types.csv is excluded by !**/*.csv
📒 Files selected for processing (90)
  • .github/workflows/quality.yaml
  • .gitignore
  • package.json
  • src/skills/bmad-cis-agent-brainstorming-coach/SKILL.md
  • src/skills/bmad-cis-agent-brainstorming-coach/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-creative-problem-solver/SKILL.md
  • src/skills/bmad-cis-agent-creative-problem-solver/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-design-thinking-coach/SKILL.md
  • src/skills/bmad-cis-agent-design-thinking-coach/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-innovation-strategist/SKILL.md
  • src/skills/bmad-cis-agent-innovation-strategist/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-presentation-master/SKILL.md
  • src/skills/bmad-cis-agent-presentation-master/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-storyteller/SKILL.md
  • src/skills/bmad-cis-agent-storyteller/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-storyteller/stories-told.md
  • src/skills/bmad-cis-agent-storyteller/story-preferences.md
  • src/skills/bmad-cis-design-thinking/SKILL.md
  • src/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-design-thinking/template.md
  • src/skills/bmad-cis-design-thinking/workflow.md
  • src/skills/bmad-cis-innovation-strategy/SKILL.md
  • src/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-innovation-strategy/template.md
  • src/skills/bmad-cis-innovation-strategy/workflow.md
  • src/skills/bmad-cis-problem-solving/SKILL.md
  • src/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-problem-solving/template.md
  • src/skills/bmad-cis-problem-solving/workflow.md
  • src/skills/bmad-cis-storytelling/SKILL.md
  • src/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-storytelling/template.md
  • src/skills/bmad-cis-storytelling/workflow.md
  • test/README.md
  • test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml
  • test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml
  • test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml
  • test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml
  • test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml
  • test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml
  • test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml
  • test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml
  • test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml
  • test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml
  • test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml
  • test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml
  • test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml
  • test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml
  • test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml
  • test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml
  • test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml
  • test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml
  • test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml
  • test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml
  • test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml
  • test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml
  • test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml
  • test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml
  • test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml
  • test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml
  • test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml
  • test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml
  • test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml
  • test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml
  • test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml
  • test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml
  • test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml
  • test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml
  • test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml
  • test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml
  • test/schema/agent.js
  • test/test-agent-schema.js
  • test/unit-test-schema.js
  • test/validate-agent-schema.js
💤 Files with no reviewable changes (59)
  • test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml
  • .gitignore
  • test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml
  • test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml
  • test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml
  • test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml
  • test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml
  • test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml
  • test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml
  • test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml
  • test/README.md
  • test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml
  • test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml
  • test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml
  • test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml
  • test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml
  • test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml
  • test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml
  • test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml
  • test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml
  • test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml
  • test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml
  • test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml
  • test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml
  • test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml
  • test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml
  • test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml
  • test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml
  • test/unit-test-schema.js
  • .github/workflows/quality.yaml
  • test/validate-agent-schema.js
  • test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml
  • test/test-agent-schema.js
  • test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml
  • test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml
  • test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml
  • test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml
  • test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml
  • test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml
  • test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml
  • test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml
  • test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml
  • test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml
  • test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml
  • test/schema/agent.js
  • test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml
  • test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml
✅ Files skipped from review due to trivial changes (9)
  • src/skills/bmad-cis-agent-presentation-master/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-innovation-strategist/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-creative-problem-solver/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-design-thinking-coach/SKILL.md
  • src/skills/bmad-cis-agent-storyteller/SKILL.md
  • src/skills/bmad-cis-agent-design-thinking-coach/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-innovation-strategist/SKILL.md
  • src/skills/bmad-cis-agent-storyteller/bmad-skill-manifest.yaml
  • src/skills/bmad-cis-agent-brainstorming-coach/bmad-skill-manifest.yaml

Comment thread package.json
"test": "npm run test:schemas && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
"test:schemas": "node test/test-agent-schema.js",
"validate:schemas": "node test/validate-agent-schema.js"
"test": "npm run lint && npm run lint:md && npm run format:check"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

npm test no longer verifies skill wiring/functionality

On Line 34, test now runs only style checks. That means broken skill manifests or invalid skill: references can still pass CI, even though this PR’s core behavior is skill conversion/resolution. Please keep at least one automated skill-validation smoke step in npm test (or an equivalent required CI job).

Suggested update
   "scripts": {
+    "test:skills": "node tools/validate-skills.mjs",
-    "test": "npm run lint && npm run lint:md && npm run format:check"
+    "test": "npm run lint && npm run lint:md && npm run format:check && npm run test:skills"
   }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@package.json` at line 34, The test script currently runs only style checks
("test": "npm run lint && npm run lint:md && npm run format:check") so CI no
longer validates skill wiring; add or invoke a skill-validation smoke script
(e.g., create "validate:skills" or reuse existing skill check script) and
include it in the "test" pipeline so "npm test" runs style checks plus at least
one automated skill manifest/skill: reference validation step; update the "test"
script to run the new/existing skill validator after the lint/format steps and
ensure the validator exits non‑zero on failures.

- Wild ideas today become innovations tomorrow.
- Humor and play are serious innovation tools.

You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammatical error.

"its important" should be "it's important" (contraction of "it is").

📝 Proposed fix
-You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
+You must fully embody this persona so the user gets the best experience and help they need, therefore it's important to remember you must not break character until the user dismisses this persona.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
You must fully embody this persona so the user gets the best experience and help they need, therefore it's important to remember you must not break character until the user dismisses this persona.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/skills/bmad-cis-agent-brainstorming-coach/SKILL.md` at line 26, Fix the
grammatical contraction in the SKILL.md sentence "You must fully embody this
persona so the user gets the best experience and help they need, therefore its
important to remember you must not break character until the users dismisses
this persona." by replacing "its important" with "it's important" and also
consider fixing "users dismisses" to "user dismisses" or "users dismiss" as
appropriate; locate the exact sentence in SKILL.md and apply the contraction and
plural noun fix so the line reads grammatically correct.

- Consistency signals professionalism - establish and maintain visual language.
- Story structure applies everywhere - hook, build tension, deliver payoff.

You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammatical error.

Line 31 contains a subject-verb disagreement: "the users dismisses" should be "the user dismisses".

📝 Proposed fix
-You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
+You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the user dismisses this persona.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the user dismisses this persona.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/skills/bmad-cis-agent-presentation-master/SKILL.md` at line 31, The
sentence in SKILL.md that reads "until the users dismisses this persona" has a
subject-verb agreement error; update that fragment to "until the user dismisses
this persona" (change "users dismisses" to "user dismisses") so the subject and
verb agree; locate the sentence in the SKILL.md content block for the persona
description and replace the plural/incorrect form with the singular/correct
form.

…nonicalId

- Update name and canonicalId in all agent bmad-skill-manifest.yaml files
- Remove deprecated canonicalId field from agent manifests
- Update agent loading commands in docs/reference/agents.md
- Update via-agent examples in docs/reference/workflows.md
@bmadcode bmadcode merged commit 97e933f into main Mar 19, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant